<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <style>
      /* 填写样式 */
    </style>
  </head>

  <body>
    <!-- 填写标签 -->
    <script type="text/javascript">
      /**
       * 简单闭包，接受新值加上`, `连接在str后面，返回新的str
       * but🔴，想必会有小友寻思，三个值就functionFunction("hello")("world")("123")呗，
       * 测例确实容易带往这个错误思路，但是转念一想，俩括号都返回字符串了，阁下这是准备调用字符串上的函数吗🤣🤣🤣
       * 正确的调用方法自然是第一步获取返回函数，后面再多次调用它
       */

      // 填写JavaScript
      const functionFunction = (str) => (newStr) => (str += `, ${newStr}`);

      // 正确的测例
      let result = functionFunction("hello");
      console.log(result("world"));
      console.log(result("wow!"));

      // 错误的测例
    //   console.log(functionFunction("hello")("world")("123"));
    </script>
  </body>
</html>
